package com.googlecode.kipler.syntax.concept;

import com.googlecode.kipler.common.Copyable;
import com.googlecode.kipler.syntax.Negatable;


/**
 * This class is the ancestor of all concept expressions.
 * 
 * @author İnanç Seylan
 * 
 */
public abstract class Concept implements Negatable<Concept>, VisitableConcept,
		Copyable<Concept> {

	/**
	 * Default constructor
	 * 
	 */
	public Concept() {

	}

	/**
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		return 17 * 37 + new Boolean(isNegated()).hashCode();
	}

}
